package com.example.player.adapter;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;

import java.util.ArrayList;

public class LoopAdapter extends PagerAdapter {
    private ArrayList<ImageView> imageViewList;
    public LoopAdapter(ArrayList<ImageView> mImgList){
        imageViewList=mImgList;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container,int position){
        int newPosition=position%imageViewList.size();
        ImageView img=imageViewList.get(newPosition);
        container.addView(img);
        return img;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container,int position,@NonNull Object object){
        container.removeView((View)object);
    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;   //返回一个无限大的值，可以 无限循环!!!!!
    }
    /**
     * 判断是否使用缓存, 如果返回的是true, 使用缓存. 不去调用instantiateItem方法创建一个新的对象
     */
    @Override
    public boolean isViewFromObject(@NonNull View view,@NonNull Object o){
        return view==o;
    }
}
